package com.vinci.task.mapper;

import com.vinci.login.entity.TbLoginUser;
import com.vinci.task.entity.TbSysDictionaries;
import com.vinci.task.entity.TbTaskCompletedBy;
import com.vinci.task.entity.TbTaskInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 任务表 Mapper 接口
 * </p>
 *
 * @author 张先生
 * @since 2021-12-11
 */
@Mapper
public interface TbTaskInfoMapper extends BaseMapper<TbTaskInfo> {
    
    /**
     * 根据id查询详情信息
     * @param taskId
     * @return
     */
    List<TbTaskInfo> getById(String taskId);

    /**
     * 查询任务表信息
     * @param task
     * @return
     */
    List<TbTaskInfo> selectTbTaskInfo(@Param("task") TbTaskInfo task);

    /**
     * 添加任务表信息
     * @param task
     * @return
     */
    void insertTbTaskInfo(TbTaskInfo task);

    /**
     * 修改任务表信息
     * @param task
     * @return
     */
     void updateTbTaskInfo(TbTaskInfo task);

    /**
     * 删除任务表信息
     * @param taskId
     * @return
     */
    void deleteTbTaskInfo(String taskId);

    /**
     * 查询任务表设置类型
     * @return
     */
    List<TbSysDictionaries> selectCategory();

    /**
     * 查询任务完成人
     * @param taskId
     * @return
     */
    List<TbTaskCompletedBy> selectTaskCompletedBy(String taskId);

    /**
     * 查询用户名称
     * @param userId
     * @return
     */
    TbLoginUser selectUser(String userId);

    /**
     * 修改任务状态
     * @param task
     */
    void updateClaim(TbTaskInfo task);
}
